<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>实验内容页面</title>
    <link rel="shortcut icon" href="/img/xuexi.png">
    <style>
        .h1{
            text-align: center;
        }
    
        .yuxi{
            height:auto !important;min-height:100px;
            background-color: blueviolet;
        }
    </style>
    <script>
        $(function () {
    // 为每一个textarea绑定事件使其高度自适应
    $.each($("textarea"), function(i, n){
        autoTextarea($(n)[0]);
    });
})
    </script>
</head>
<body>
    <div style="width: 95%;margin:0 auto ;">
        <h1 class="h1">2.1熟悉Linux开发环境</h1>
        <pre style="font-size: x-large;background-color: #00ffa745;">
            
            一、实验目的
            熟悉Linux 开发环境，学会基于S3C2410 的Linux 开发环境的配置和使用。使用Linux的armv4l-unknown-linux-gcc 编译，使用基于NFS 方式的下
            载调试，了解嵌入式开发的基本过程。
            二、实验内容
            使用 Redhat Linux 9.0 操作系统环境,安装ARM-Linux 的开发库及编译器。创建一个新目录，并在其中编写hello.c 文件。学习在Linux 下的编程
            和编译过程，以及ARM 开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。
            三、预备知识
            c语言的基本知识，程序调试的基本知识和方法，Linux的基本操作。
            四、实验设备及工具（包括软件调试工具）
            硬件：UP-TECH S2410/P270 DVP 嵌入式实验平台、PC机Pentium500以上、硬盘10G以上。
            软件：PC机操作系统REDIIAT LINUX 9.0+超级终端（或X-shell）+RAM-LINUX开发环境。
            五、实验步骤
            1、建立工作目录
            [root@zxt smile]# mkdir hello
            [root@zxt smile]# cd hello
            2、编写程序源代码
                在Linux下的文本编辑器有很多，常用的是vi和Xwindow面下的gedit等，我们在开发过程中推荐使用vi的操法，请参考相关书籍的关于vi的操作指
                南。KDEVELOPE\ANJUTA软件的界面与vc6.0类似，使用它们对于window下发
            的用户更容易上手。
                实际上的hello.c源代码比较简单，如下：
            #inculde <stdio.h>
            main()
            {
                printf("hello word \n");
            }
            我们可以使用下面命令来编写hello.c的源代码，进hello目录使用vi命令来编辑代码：
            [root@zxt smile]# vi hello.c
            按“i”或者“a”进入编辑模式，将上面的代码录入进去，成后按Esc进入命令状态，在使用命令“：wq”保存并退出这样我们便在当前目录下创建了
            一个名为hello.c的文件。
            3、编写Makefile
            要使上面的hello.c程序运行，我们必须编写一个Makefil文件，Makefile文件定义了一系列的规则，它指明了那文件需要编辑，那些文件需要先编辑，
            那些文件需要重新译等等更为复杂的命令。使用它带来的好处是自动编译，只需要敲一个make命令整个工程就可以实现自动编译，当我们本次实验只
            有一个文件，它还不能体现出使Makefile的优越性，但当工程比较大时，不适用Makefil几乎是不可能的。下面我们介绍本次实验用到的Makefil文件。
            CC=armv41-unknow-linux-qcc
            EXEC=hello
            OBJS=hello.o
            CFLAGS=
            LDFLAGS+=-STATIC
            all:$(EXEC)
            $(EXEC):$(OBJS)
            
            clean
            -rm -f$(EXEC)*.elf*.gdb*.o
            
            下面我们来简单介绍这个Makefile文件的几个主要部分：
            CC指明编辑器
            EXEC表示编辑后产生的执行文件名称
            OBJS文件列表
            CFLAGS编译参数
            LDFLAGS连接参数
            all：编译主入口
            clean清除编译结果
            注意：“$（CC）$（LDGAGS）-O$@$(ONJS)”和“rm -f $(EXEC)*.elf*.gdb*.之间是一个tab键不是空格。
            写上面编写hello.c的过程类似，用vi来创建一个文件并将代码录入其中
            [root@zxt hello]#   viMakefile
            4、编译应用程序
            在上面的步骤完成之后，我们就可以在hello目录下make来编译
            我们的程序了。如果进行了修改，重新编行：
            [root@zxt hello]    make clean
            [root@zxt hello]    make
            5、下载调试
                在宿主PC计算机上启动NSF服务，并设置好共享的目录，（这里将刚生成的根目录/arm2410cl作为共享目录，以下实验同理）具体配置请参照前面
            第一章第四节关于嵌入式Linux环境开发的建立。在建立好NSF共享目录后，我们就可以进入超级终端中建立开发板与宿主PC机之间的通讯了。
            注意：IP地址需要根据宿主PC机的实际情况修改，成功挂载宿主机的arm2410目录后，在开发板上进入/host目录，便进入到宿主机的/arm2410目录。
            我们已经给出了编译好的hello.c和Makefile文件，它们在/arm2410cl/exp/basic/hello目录下运行程序查看结果。
            如果不想使用我们提供的源代码，可以再建立一个NSF共享文件夹。如/root/share，我们把自己编译生成的可执行文件复制到该目录下，并通过超级
            终端挂载到开发板上。
            [root@zxt hello]#	cp hello /root/share		虚拟机中//                              
            [/mnt/yaffs]	mount -t nfs -o nolock 192.168.0.56:/root			超级终端//			
            在进入/host目录运行刚刚编译好的hello程序，查看运行结果。
            [/mnt/yaffs] cd /host		
            [/host]	 ./hello           
            hello word
            注意开发板挂载宿主计算机目录只需要挂载一次便可，只要开发板没有重启，就可以一直保持连接。这样可以重复修改，编译，调试，不需要下载到
            开发板。
        </pre>
            
        
       
       
        <textarea name="textarea" placeholder="预习成果" rows="10" style="width: 100%;"></textarea>
          
      <input type="butten" value="提交" style="text-align: center;position: relative;left: 43%; cursor:pointer;">
    </div>
</body>


</html>